﻿Public Class MessageGenerator

    Private _textTemplates() As String
    Private _fromTemplates() As String

    Public Sub New()
        'шаблоны текста сообщения
        _textTemplates = {"Привет, как дела?", "У меня все отлично!", "Перезвони мне, есть разговор!"}
        'шаблоны отправителя
        _fromTemplates = {"Друг", "Папа", "Мама", "БОСС"}
    End Sub

    'генерация смс
    Public Function GenerateSMS() As SMSMessage
        Dim sms As New SMSMessage
        sms.From = GetRandomFrom()
        sms.Text = GetRandomText()
        Return sms
    End Function

    'генерация ммс
    Public Function GenerateMMS() As MMSmessage
        Dim mms As New MMSmessage
        mms.From = GetRandomFrom()
        mms.Text = GetRandomText()
        mms.PicturePath = GetMMSRandomPicturePath()
        Return mms
    End Function

    'получить случайный текст
    Private Function GetRandomText() As String
        Dim rand As New Random
        Dim i As Integer
        i = rand.Next(0, _textTemplates.Count)
        Return _textTemplates(i)
    End Function

    'получть случайного отправителя
    Private Function GetRandomFrom() As String
        Dim rand As New Random
        Dim i As Integer
        i = rand.Next(0, _fromTemplates.Count)
        Return _fromTemplates(i)
    End Function

    'загрузка случайной картинки
    Private Function GetMMSRandomPicturePath() As String
        Dim rand As New Random
        Dim pictureNumber As String
        pictureNumber = rand.Next(1, 3)
        Return Application.StartupPath & "\pictures\mms" & pictureNumber & ".jpg"
    End Function

    'загрузка в зависимости от типа телефона
    Public Function GenerateExtended(ByVal obj As Object) As Object
        If (TypeOf obj Is NewMobile) Then
            Dim rand As New Random
            Dim i As Integer
            i = rand.Next(1, 100)
            If (i \ 2 = 0) Then
                Return GenerateSMS()
            Else
                Return GenerateMMS()
            End If

        End If
        Return GenerateSMS()


    End Function
End Class
